<?php
/*
Autor: Jonathan Vindas Abarca
Fecha: 23/08/2012
Descripción: Este archivo contiene la declaración de una clase que sirve para conectar las peticiones 
ajax de JavaScript con los metodos de los modelos de la aplicacion.
Bitacora de modificaciones:
<
    Autor: Jordan Campos Delagado
    Fecha: 25/10/2013
    Descripción: Se corrigió los dos métodos donde se calcula la cantidad disponible de artículos, 
	los métodos son: sumatoriaCantidadesMismoArticulo y obtenerQTY los cuales se encuentran en el archivo 
	lineaDetallesModelo.php y el método mostrarDetalleOrdenCompra dentro del archivo ajaxControlador.php. 
	Incidente: INC0068-Problema con disponible en guias jcamposd
>
<
    Autor: 
    Fecha: 
    Descripción: 
>
*/
        error_reporting(0); 
        session_start();
        setcookie(session_name(), session_id(), NULL, NULL, NULL, 0);
        setcookie(session_name(), session_id(), NULL, NULL, NULL, 1);
switch ($_GET["accion"]) 
{             
    case "cargarComboGuias":
        cargarGuias();
        break;
    case "cargarComboOrdenes":
        cargarOrdenes();
        break;
    case "cargarComboArticulos":
        cargarArticulos();
        break;
    case "cargarEmbalajes":
        cargarEmbalajes();
        break;
    case "cargarBodegas":
        cargarBodegas();
        break;
    case "cargarArticulosModificar":
        cargarArticulosModificar();
        break;
    case "cargarTransportistas":
        cargarTransportistas();
        break;
    case "validarPrecio":
        validarPrecio();
        break;
    case "validarLineaDetalle":
        validarLineaDetalle();
        break;    
    case "cargarVias":
        cargarVias();
        break;
    case "cargarCodSigGuias":
        cargarCodSigGuias();
        break;
    case "cargarCodSigTransportistas":
        cargarCodSigTransportistas();
        break;
    case "cargarCodSigEmbalajes":
        cargarCodSigEmbalajes();
        break;
    case "cargarPrecioUnitario":
        cargarPrecioUnitario();
        break;
    case "expandirGuias":
        expandirGuias();
        break;
    case "validarCantidadArticuloLD":
        validarCantidadArticuloLD();
        break;
    case "linkAgregarLinea":
        linkAgregarLinea();
        break;    
     case "cargarCompanias":
        cargarCompaniasLD();
        break; 
     case "cargarDivisiones":
        cargarDivisiones();
        break; 
     case "dependenciaOrdenes":
        dependenciaOrdenes();
        break; 
     case "mostrarDetalleOrdenCompra":
        mostrarDetalleOrdenCompra();
        break; 
    case "mostrarOrdenCompraCandidatasAutoCompletar":
        mostrarOrdenCompraCandidatasAutoCompletar();
        break; 
    case "autocompletarOrdenes":
        autocompletarOrdenes();
        break; 
    case "mostrarPrecioSegunEmbalaje":
        mostrarPrecioSegunEmbalaje();
        break;
    case "cargarRoles":
        cargarRoles();
        break;
    case "obtenerPermisoGenerico":
        //obtenerPermisoModificarGuia();
        obtenerPermisoGenerico();
        break;     
    case "buscarGuiasAsociadasOrden":
        buscarGuiasAsociadasOrden();
        break;
    case "autocompletarNumeroFacturas":
        autocompletarNumeroFacturas();
        break;
    case "cargarCodigosNombresClientes":
        cargarCodigosNombresClientes();
        break;
    case "buscarCodigoCliente":
        buscarCodigoCliente();
    break;
   case "buscarClientesPorCompania":
        buscarClientesPorCompania();
    break;
    case "buscarNombreClienteSegunCodigoClienteCodigoCompania":
        buscarNombreClienteSegunCodigoClienteCodigoCompania();
    break;
    case "mostrarNombreCompania":
        mostrarNombreCompania();
    break;
    case "buscarCodigoCompania":
        buscarCodigoCompania();
    break;
    case "cargarCompaniasModuloFacturasExportacion":
        cargarCompaniasModuloFacturasExportacion();
    break;
    case "buscarCodigoFactura":
        buscarCodigoFactura();
    break;
    case "cargarContratosModuloFacturasExportacion":
        cargarContratosModuloFacturasExportacion();
    break;
    case "mostrarCedulaJuridicaCompania":
        mostrarCedulaJuridicaCompania();
    break;
    case "mostrarCodigoExportador":
        mostrarCodigoExportador();
    break;
    case "mostrarDireccionCompania":
        mostrarDireccionCompania();
    break;
    case "mostrarFechaFactura":
        mostrarFechaFactura();
    break;
    case "calcularFechaEntrega":
        calcularFechaEntrega();
    break;
    case "mostrarNombreCompaniaModuloFacturaExportacion":
        mostrarNombreCompaniaModuloFacturaExportacion();
    break;    
    case "mostrarDireccionEnvioModuloFacturaExportacion":
        mostrarDireccionEnvioModuloFacturaExportacion();
    break;
    case "mostrarDireccionPuertoModuloFacturaExportacion":
        mostrarDireccionPuertoModuloFacturaExportacion();
    break;  
    case "autocompletarNumeroFacturaModuloFacturaExportacion":
        autocompletarNumeroFacturaModuloFacturaExportacion();
    break;    
    case "guardarEncabezadoFacturaExportacion":
        guardarEncabezadoFacturaExportacion();
    break;    
    case "actualizarDireccionesAjaxControlador":
        actualizarDireccionesAjaxControlador();
    break;
    case "actualizarContratoFacturaExportacionAjaxControlador";
        actualizarContratoFacturaExportacionAjaxControlador();
    break;
    case "actualizarDetalleBancoAjaxControlador":
        actualizarDetalleBancoAjaxControlador();
    break;
    case "actualizarComentariosAjaxControlador":
        actualizarComentariosAjaxControlador();
    break;
    case "actualizarLineaFacturaAjaxControlador":
        actualizarLineaFacturaAjaxControlador();
    break;
case "guardarEncabezadoEditadoFacturaExportacion":
    guardarEncabezadoEditadoFacturaExportacion();
    break;
}

    function obtenerPermisoModificarGuia() 
    {    
        require_once 'dataControlador.php';
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $obtenerPermiso=validarPermisos('modificarGuia');
        $firephp->log('Permiso', 'Permiso');
        //linkAgregarLinea();
        echo "<h1>hola</h1>";
        //echo $obtenerPermiso;
    }

    function mostrarPrecioSegunEmbalaje() 
    {    
        //require_once '../modelos/conexionAXPLUS.php';
        //require_once 'conexionAXPLUS.php';
        require_once '../modelos/guiasModelo.php';
        require_once '../modelos/preciosModelo.php';
        $codigoEmbalaje=$_GET['embalaje'];
        $codigoGuia=$_GET['codigoGuia'];                
        $localidad=buscarLocalidadGuia($codigoGuia);
        $precio=buscarPrecioUnitario($localidad,$codigoEmbalaje);    
        echo "$precio";
    }

    function autocompletarOrdenes() 
    {   
        require_once '../modelos/dataModelo.php';          
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);
        require_once '../modelos/guiasModelo.php';
        //$dsn = "Driver={SQL Server};Server=localhost;Database=NumarProd;Integrated Security=SSPI;Persist Security Info=False;";
        
        //$conexion=odbc_connect($dsn, 'sa','patito035');    
        $conexion=conexion_AX();
        //deberia jalar las ordenes segun  la bodega destino de la Guia        
        //$codigoDivision='0001';
        $codigoGuia=$_GET['hddCodigoGuia'];    
        $codigoOrden=$_GET['q'];
        $guias=buscarGuiaPorCodigo($codigoGuia);
        foreach ($guias as $guia) 
        {
            $codigoBodegaRemitente=$guia['codigoBodegaRemitente'];
            $codigoBodegaDestino=$guia['codigoBodegaDestino'];
        }
        $firephp->log($codigoBodegaDestino,'Compania: ');
        $firephp->log($codigoBodegaRemitente,'Division: ');
        $firephp->log($codigoGuia,'guia: ');
        //$rs = odbc_exec($conexion, "select PURCHID FROM PURCHTABLE where DIMENSION=$codigoDivision and PURCHSTATUS='3' and purchid like '%$codigoOrden%'");
        //$rs = odbc_exec($conexion, "select PURCHID FROM PURCHTABLE where DATAAREAID=$codigoBodegaDestino and DIMENSION=$codigoBodegaRemitente and PURCHSTATUS='3' and purchid like '%$codigoOrden%'");    
        $rs = odbc_exec($conexion, "select PURCHID FROM PURCHTABLE where DATAAREAID=$codigoBodegaDestino and DIMENSION=$codigoBodegaRemitente and (PURCHSTATUS='3' OR PURCHSTATUS='1') and purchid like '%$codigoOrden%'");    
        $ordenes=Array();
        while (odbc_fetch_row($rs))
        {
            $orden['codigoOrden']=odbc_result($rs,"PURCHID");        
            array_push($ordenes,$orden);
        }       
        odbc_close($conexion);
        $firephp->log($ordenes,'Ordenes: ');
        foreach ($ordenes as $orden) 
        {
            $codigoOrden = $orden['codigoOrden'];            
            echo "$codigoOrden\n";
        }
    }

    function mostrarOrdenCompraCandidatasAutoCompletar() 
    {
        require_once '../modelos/dataModelo.php';          
        //require_once 'conexionAXPLUS.php';
        $codigoCompania=$_GET['codigoCompania'];
        $codigoDivision=$_GET['codigoDivision'];
        $codigoOrden=$_GET['codigoOrdenCompra'];        
        //$rs = odbc_exec(conexion_AX(), "select PURCHID FROM PURCHTABLE where DIMENSION=$codigoDivision and DATAAREAID=$codigoCompania and PURCHSTATUS='3' and purchid like '%$codigoOrden%'");
        $rs = odbc_exec(conexion_AX(), "select PURCHID FROM PURCHTABLE where DIMENSION=$codigoDivision and DATAAREAID=$codigoCompania and (PURCHSTATUS='3' OR PURCHSTATUS='1') and purchid like '%$codigoOrden%'");
        $ordenes=Array();
        while (odbc_fetch_row($rs))
        {
            $orden['codigoOrden']=odbc_result($rs,"PURCHID");        
            array_push($ordenes,$orden);
        }            
        odbc_close(conexion_AX());
        foreach ($ordenes as $orden) 
        {
            $codigoOrden = $orden['codigoOrden'];        
            echo $codigoOrden . " <br>";
        }
    }

    function obtenerPermisoGenerico() 
    {
        //Este es un metodo ejemplo para retornar permisos con ajax
        require_once '../modelos/dataModelo.php';        
        $usuario=$_SESSION["s_username"];        
        $metodo=$_GET["metodo"];
        $busqueda="select dbo.FUN001ConsultaPermisos('".$metodo."','".$usuario."') as Resultado;";
        //$firephp->log($busqueda, "buscarPermiso");        
        $rs =odbc_exec(conexion(),$busqueda );        
        while (odbc_fetch_row($rs)){
                $Resultado=odbc_result($rs,"Resultado");                                                      
            }               
        if ($Resultado==1) 
        {            
           echo 1;
        }
        else
        {
            echo 0;
        }
    }

    function cargarCompaniasLD() 
    {
        require_once '../modelos/dataModelo.php';          
        $rs = odbc_exec(conexion_AX(), "SELECT ID, NAME FROM DATAAREA WHERE ISVIRTUAL='0' and id in('001','003','006','009')");
        $companias=Array();
        while (odbc_fetch_row($rs))
        {
            $compania['codigoCompania']=odbc_result($rs,"ID");
            $compania['nombreCompania']=odbc_result($rs,"NAME");
            array_push($companias,$compania);
        }       
        odbc_close(conexion_AX());
        foreach ($companias as $compania) 
        {
            $codigoCompania = $compania['codigoCompania'];
            $nombreCompania = $compania['nombreCompania'];
            echo "<option value=" . $codigoCompania . ">" . $nombreCompania . "</option>";
        }
    }

    function cargarDivisiones() 
    {        
        require_once '../modelos/dataModelo.php';  
        //require_once 'conexionAXPLUS.php';        
        $rs = odbc_exec(conexion_AX(), "SELECT top 4 DESCRIPTION, NUM  FROM DIMENSIONS");
        $divisiones=Array();
        while (odbc_fetch_row($rs))
        {
            $division['codigoDivision']=odbc_result($rs,"NUM");
            $division['nombreDivision']=odbc_result($rs,"DESCRIPTION");
            array_push($divisiones,$division);
        }        
        odbc_close(conexion_AX());
        foreach ($divisiones as $division) 
        {
            $codigoDivision = $division['codigoDivision'];
            $nombreDivision = $division['nombreDivision'];
            echo "<option value=" . $codigoDivision . ">" . $nombreDivision . "</option>";
        }
    }

    function dependenciaOrdenes() 
    {
        require_once '../modelos/dataModelo.php';  
        $codigoCompania=$_GET['codigoCompania'];
        $codigoDivision=$_GET['codigoDivision'];        
        $rs = odbc_exec(conexion_AX(), "select PURCHID FROM PURCHTABLE where DIMENSION=$codigoDivision and DATAAREAID=$codigoCompania and PURCHSTATUS='3'");
        $ordenes=Array();
        while (odbc_fetch_row($rs))
        {
            $orden['codigoOrden']=odbc_result($rs,"PURCHID");        
            array_push($ordenes,$orden);
        }        
        odbc_close(conexion_AX());
        foreach ($ordenes as $orden) 
        {
            $codigoOrden = $orden['codigoOrden'];        
            echo "<option value=" . $codigoOrden . ">" . $codigoOrden . "</option>";
        }
    }
/*
    function mostrarDetalleOrdenCompra() 
    {  
        require_once '../modelos/dataModelo.php';        
        require_once '../modelos/guiasModelo.php';
        require_once '../modelos/lineaDetallesModelo.php';       
        $codigoEmbalaje= $_GET['codigoEmbalaje'];
        $codigoGuia = $_GET['codigoGuia'];
        $numeroLinea = $_GET['numeroLinea'];
        //$guias=buscarGuiaPorCodigo($codigoGuia);
        $codigoBodegaRemitente=buscarLocalidadGuia($codigoGuia);
        $codigoOrden = $_GET['codigoOrdenCompra'];                          
        $rs = odbc_exec(conexion_AX(), "select PURCHID,ITEMID,NAME,PURCHQTY,DATAAREAID,DIMENSION from PURCHLINE  where PURCHID='$codigoOrden' and DIMENSION='$codigoBodegaRemitente'");
        $detalles=Array();
        while (odbc_fetch_row($rs))
        {        
            $detalle['codigoOrden']=odbc_result($rs,"PURCHID");        
            $detalle['codigoArticulo']=odbc_result($rs,"ITEMID");     
            $detalle['descripcionArticulo']=odbc_result($rs,"NAME");     
            $detalle['cantidadOrdenada']=odbc_result($rs,"PURCHQTY");             
            array_push($detalles,$detalle);
        }        
        odbc_close(conexion_AX());        
        if (!empty($detalles)) 
        {
                echo "<div id='contenedorTablaArticuloDisponible' name='contenedorTablaArticuloDisponible'>
                    <legend class='leyenda' id='tituloTabla'>Articulos Disponibles Orden Compra:</legend>     
                    <br>
                    <table cellpadding='0' cellspacing='0' border='0' class='display' id='tabla_lista_paises'>
                    <thead>
                        <tr>
                            <th>Orden</th>
                            <th>Articulo</th><!--Estado-->
                            <th>Descripcion</th>
                            <th>Cantidad Ordenada</th>
                            <th>Cantidad Disponible</th>
                            <th>Cantidad Solicitada</th>
                            <th>Agregar Art&iacute;culo</th>
                       </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <th></th>
                            <th></th>
                        </tr>
                    </tfoot>
                    <tbody>";
        foreach ($detalles as $detalle) 
        {            
            $codigoOrden =  $detalle['codigoOrden'];
            $codigoArticulo = $detalle['codigoArticulo'];
            $descripcionArticulo = $detalle['descripcionArticulo'];
            $cantidadOrdenada = $detalle['cantidadOrdenada'];            
            $cantidadDis=obtenerQTY($detalle['codigoOrden'],$detalle['codigoArticulo'])-sumatoriaCantidadesMismoArticulo($detalle['codigoOrden'],$detalle['codigoArticulo']);     
  
            $sinRepetir=encontrarLineaDetalleDuplicada($codigoOrden,$codigoArticulo, $codigoGuia,$codigoEmbalaje,$numeroLinea);
            if($cantidadDis!=0 && $sinRepetir==false)
            {
            echo" <tr>                                       
                    <td>$codigoOrden</td>
                    <td>$codigoArticulo</td>
                    <td>$descripcionArticulo<input type='hidden' name='hddArticulo' id='hddArticulo' value='$codigoArticulo'/></td>                    
                    <td>$cantidadOrdenada</td>                   
                    <td>$cantidadDis</td>
                    <td><input type='text' name='txtCantidadSolicitada' id='txtCantidadSolicitada' value='' style='width: 75px'></td>                   
                    <td><a id='linkBotonAgregarLineaDetalle' onClick='guardarLineaDetalle(this.parentNode.parentNode);' title='Guardar'><img src='../vistas/Imagenes/AddLinea.png' alt='Guardar'/> </a></td>
                  </tr>";
            }            
        }
        echo "</tbody>
                </table></div>";
        }
        else
        {            
            return false;        
        }
    }   
*/
    
        function mostrarDetalleOrdenCompra() 
    {  
        require_once '../modelos/dataModelo.php';        
        require_once '../modelos/guiasModelo.php';
        require_once '../modelos/lineaDetallesModelo.php';       
        $codigoEmbalaje= $_GET['codigoEmbalaje'];
        $codigoGuia = $_GET['codigoGuia'];
        $numeroLinea = $_GET['numeroLinea'];
        //$guias=buscarGuiaPorCodigo($codigoGuia);
        $codigoBodegaRemitente=buscarLocalidadGuia($codigoGuia);
        $codigoOrden = $_GET['codigoOrdenCompra'];                          
        $rs = odbc_exec(conexion_AX(), "select PURCHID,ITEMID,NAME,PURCHQTY,DATAAREAID,DIMENSION from PURCHLINE  where PURCHID='$codigoOrden' and DIMENSION='$codigoBodegaRemitente'");
        $detalles=Array();
		//INC0068-Problema con disponible en guias jcamposd
        $count = 0;
		//INC0068-Problema con disponible en guias jcamposd
		while (odbc_fetch_row($rs))
        {        
            $detalle['codigoOrden']=odbc_result($rs,"PURCHID");        
            $detalle['codigoArticulo']=odbc_result($rs,"ITEMID");     
            $detalle['descripcionArticulo']=odbc_result($rs,"NAME");     
            $detalle['cantidadOrdenada']=odbc_result($rs,"PURCHQTY");             
            array_push($detalles,$detalle);
        }        
        odbc_close(conexion_AX());        
        if (!empty($detalles)) 
        {
                echo "<div id='contenedorTablaArticuloDisponible' name='contenedorTablaArticuloDisponible'>
                    <form action='javascript:void(0);' method='post' id='formAgregarArticulosGuia' onSubmit='probarOnSubmit();'>
				<input type='hidden' name='codigoEmbalajeAgregarLineaDetalle' id='codigoEmbalajeAgregarLineaDetalle' value=''/>
				<input type='hidden' name='codigoGuiaAgregarLineaDetalle' id='codigoGuiaAgregarLineaDetalle' value=''/>
				<input type='hidden' name='numeroLineaAgregarLineaDetalle' id='numeroLineaAgregarLineaDetalle' value=''/>     
                    <legend class='leyenda' id='tituloTabla'>Articulos Disponibles Orden Compra:</legend>     
                    <br>
                    <table cellpadding='0' cellspacing='0' border='0' class='display' id='tabla_lista_paises'>
                    <thead>
                        <tr>
                            <th><input type='checkbox' name='all' id='all' onClick='checkAll();'></th>
                            <th>Orden</th>
                            <th>Articulo</th><!--Estado-->
                            <th>Descripcion</th>
                            <th>Cantidad Ordenada</th>
                            <th>Cantidad Disponible</th>
                            <th>Cantidad Solicitada</th>                  
                       </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <th></th>
                            <th></th>
                        </tr>
                    </tfoot><tbody id='cuerpoTablaArticuloCandidato'>";
        foreach ($detalles as $detalle) 
        {            
            $codigoOrden =  $detalle['codigoOrden'];
            $codigoArticulo = $detalle['codigoArticulo'];
            $descripcionArticulo = $detalle['descripcionArticulo'];
            $cantidadOrdenada = $detalle['cantidadOrdenada'];
			//INC0068-Problema con disponible en guias jcamposd            
            $cantidadDis=obtenerQTY($detalle['codigoOrden'],$detalle['codigoArticulo'],$count)-sumatoriaCantidadesMismoArticulo($detalle['codigoOrden'],$detalle['codigoArticulo'],$count);                 
            //INC0068-Problema con disponible en guias jcamposd
			$sinRepetir=encontrarLineaDetalleDuplicada($codigoOrden,$codigoArticulo, $codigoGuia,$codigoEmbalaje,$numeroLinea);
            if($cantidadDis!=0 && $sinRepetir==false)
            {
            echo" <tr>
                <td><input type='checkbox' name='formDoor[]' value='$codigoOrden-$codigoArticulo' onClick='activar(this.parentNode.parentNode);'/><br />				</td>
                    <td>$codigoOrden</td>
                    <td>$codigoArticulo</td>
                    <td>$descripcionArticulo<input type='hidden' name='hddArticulo' id='hddArticulo' value='$codigoArticulo'/></td>                    
                    <td>$cantidadOrdenada</td>                   
                    <td>$cantidadDis</td>
                    <td><input type='text' name='grupo[]' id='txtCantidadSolicitada' value='' style='width: 75px' onkeyup='verificarCantidad(this.parentNode.parentNode)' onkeypress='return isNumberKey(event)' disabled='true'></td>                                       
                  </tr>";
            }
			
			$count++;
        }
        echo "<tr><td colspan='7'><input type='submit' name='formSubmit' value='Agregar Artículo(s)' /></td></tr></tbody>
                </table></form></div>";
        }
        else
        {            
            return false;        
        }
    }
    
    function validarPrecio() 
    {
        require_once '../controladores/preciosControlador.php';
        $codigoTransportista = $_GET["codigoTransportista"];
        $codigoEmbalaje = $_GET["codigoEmbalaje"];
        $codigolocalidad = $_GET["codigoLocalidad"];
        $existe = validarIdPrecio($codigoEmbalaje, $codigolocalidad);
        if ($existe == 1) 
        {
            $bandera = "ExistePrecio";
            echo 1;
        } 
        else 
        {
            echo 0;
        }
    }

    function validarLineaDetalle() 
    {
        require_once '../controladores/lineaDetalleControlador.php';
        $codigoOrden = $_GET["codigoOrden"];
        $codigoArticulo = $_GET["codigoArticulo"];
        $codigoGuia = $_GET["codigoGuia"];
        $codigoEmbalaje = $_GET["codigoEmbalaje"];
        $existe = validarIdLineaDetalles($codigoOrden, $codigoArticulo, $codigoGuia, $codigoEmbalaje);
        if ($existe == 1) 
        {
            $bandera = "ExistePrecio";
            echo 1;
        } 
        else 
        {
            echo 0;
        }
    }

    function cargarGuias() 
    {
        require_once '../modelos/guiasModelo.php';
        $items = buscarTodasLasGuias();
        foreach ($items as $item) 
        {
            $codigo = $item['CodGuia'];
            echo "<option value=" . $codigo . ">" . $codigo . "</option>";
        }
    }

    function cargarOrdenes() 
    {
        require_once '../modelos/lineaDetallesModelo.php';
        $items = buscarTodosLasOrdenes();
        foreach ($items as $item) 
        {
            $codigo = $item['PURCHID'];
            echo "<option value=" . $codigo . ">" . $codigo . "</option>";
        }
    }

    function cargarArticulos() 
    {
        require_once '../modelos/lineaDetallesModelo.php';
        $codigoOrden = $_GET["code"];
        $items = buscarTodosLosArticulos($codigoOrden);
        $cantidadElemntos = count($items);
        if ($cantidadElemntos > 0) 
        {
            foreach ($items as $item) 
            {
                $codigo = $item['ITEMID'];
                $nombre = $item['NAME'];
                echo "<option value=" . $codigo . ">" . $nombre . "</option>";
            }
        } 
        else 
        {
            echo false;
        }
    }

    function cargarArticulosModificar() 
    {
        require_once '../modelos/lineaDetallesModelo.php';
        $codigoArticulo = $_GET["item"];
        $codigoOrden = $_GET["orden"];
        $items = buscarTodosLosArticulos($codigoOrden);
        foreach ($items as $item) 
        {
            $codigo = $item['ITEMID'];
            $nombre = $item['NAME'];
            echo "<option value=" . $codigo . ">" . $nombre . "</option>";
        }
    }

    function cargarEmbalajes() 
    {
        require_once '../modelos/embalajesModelo.php';
        $items = buscarTodosLosEmbalajes();
        foreach ($items as $item) 
        {
        $codigo = $item['CodEmbalaje'];
        $tipo = $item['Tipo'];
        echo "<option value=" . $codigo . ">" . $tipo . "</option>";
        }
    }

    function cargarBodegas() 
    {
        require_once '../modelos/guiasModelo.php';
        $items = buscarTodosCodigoBodega();
        foreach ($items as $item) 
        {
            $codBodega = $item['CodBodega'];
            $descripcion = $item['Descripcion'];
            echo "<option value=" . $codBodega . ">" . $descripcion . "</option>";
        }
    }

    function cargarTransportistas() 
    {
        require_once '../modelos/transportistasModelo.php';
        $items = buscarTodosLosTransportistas();
        foreach ($items as $item) 
        {
        $codigo = $item['CodTransportista'];
        $tipo = $item['Via'];
        echo "<option value=" . $codigo . ">" . $tipo . "</option>";
        }
    }

    function cargarVias() 
    {
        require_once '../modelos/guiasModelo.php';
        $items = buscarTodosCodigoVias();
        foreach ($items as $item) 
        {
            $codVia = $item['CodTransportista'];
            $descripcion = $item['Via'];
            echo "<option value=" . $codVia . ">" . $descripcion . "</option>";
        }
    }

    function cargarCodSigGuias() 
    {
        require_once '../modelos/guiasModelo.php';
        $items = buscarCodSigGuias();
        foreach ($items as $item) 
        {
            $codGuia = $item['CodGuiaSig'];
            //echo "<input type='text' id='txtCodGuia' disabled='disabled' name='txtCodGuia' value='" . $codGuia . "'/><br/><br/>";
            echo "$codGuia ";
        }
    }

    function cargarCodSigTransportistas() 
    {
        require_once '../modelos/transportistasModelo.php';
        $items = buscarCodSigTransportistas();
        foreach ($items as $item) 
        {
            $codTransportista = $item['CodTransSig'];
            //echo "<input type='text' id='txtCodTransportista' disabled='disabled' name='txtCodTransportista' value='" . $codTransportista . "'/><br/><br/>";
            echo "$codTransportista ";
        }
    }

    function cargarCodSigEmbalajes() 
    {
        require_once '../modelos/embalajesModelo.php';
        $items = buscarCodSigEmbalajes();
        foreach ($items as $item) 
        {
            $codEmbalaje = $item['CodEmbSig'];
            //echo "<input type='text' id='txtCodEmbalaje' disabled='disabled' name='txtCodEmbalaje' value='" . $codEmbalaje . "'/><br/><br/>";
            echo "$codEmbalaje";
        }
    }

    function cargarPrecioUnitario() 
    {
        require_once '../modelos/guiasModelo.php';
        $codigoGuia = $_GET['codigoGuia'];
        $codigoEmbalaje = $_GET['codigoEmbalaje'];
        $guias = obtenerGuia($codigoGuia);
        foreach ($guias as $guia) 
        {
            $codigoLocalidad = $guia['BodegaDestino'];
            $codigoTransportista = $guia['Via'];
            $precios = obtenerPrecioUnitarioTEL($codigoTransportista, $codigoEmbalaje, $codigoLocalidad);
            foreach ($precios as $precio) 
            {
                $precioObtenido = $precio['Precio'];
                echo $precioObtenido;
            }
        }
    }

    function expandirGuias() 
    {
        require_once '../modelos/lineaDetallesModelo.php';
        //require_once '../FirePHPCore/FirePHP.class.php';
        //$firephp = FirePHP::getInstance(true);
        $codigoGuia = $_GET['guia'];
        $codigoEmbalaje = $_GET['embalaje'];
        //$firephp->log('expandirGuias','expandirGuias');
        $items = buscarXGuiaEmbalaje($codigoGuia, $codigoEmbalaje);
        if (!empty($items)) 
        {
        echo "<br/><br/>
               <legend class='leyenda'>Detalle Articulos de la Linea:</legend>
                    <br/>
                    
                <table cellpadding='0' cellspacing='0' border='0' class='display' id='tabla_lista_paises'>
                    <thead>
                        <tr>
                            <th>Embalaje</th>
                            <th>N&uacute;mero Orden</th><!--Estado-->
                            <th>Art&iacute;culo</th>
                            <th>Cantidad Ordenada</th>                           
                       </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <th></th>
                            <th></th>
                        </tr>
                    </tfoot>
                    <tbody>";
        foreach ($items as $item) 
        {
            $NumOrden = $item['NumOrden'];
            $Articulo = $item['Articulo'];
            $Cant = $item['Cant'];
            $Nombre = $item['NAME'];
            $Embalaje = $item['Tipo'];            
            echo" <tr>                                       
                    <td>$Embalaje</td>
                    <td>$NumOrden</td>
                    <td>$Nombre<input type='hidden' name='hddArticulo' id='hddArticulo' value='$Articulo'/></td>                    
                    <td>$Cant</td>                                       
                  </tr>";
        }
        echo "</tbody>
                </table>";
        }
        else
        {
            return false;
        }
    }

    function validarCantidadArticuloLD() 
    {
        require_once '../modelos/lineaDetallesModelo.php';
        $codigoOrden = $_GET['codigoOrden'];
        $codigoArticulo = $_GET['codigoArticulo'];
        $lineaDetalles = validarArticuloLineaDetalle($codigoOrden, $codigoArticulo);
        foreach ($lineaDetalles as $valor) 
        {
            $cantidadInventario = $valor['cantidadInventario'];
            echo $cantidadInventario;
        }
    }
    
    function cargarRoles() 
    {        
        require_once '../modelos/dataModelo.php';  
        //require_once 'conexionAXPLUS.php';        
        $rs = odbc_exec(conexion(), "SELECT CodigoRol,Nombre  FROM Roles");
        $roles=Array();
        while (odbc_fetch_row($rs))
        {
            $rol['CodigoRol']=odbc_result($rs,"CodigoRol");
            $rol['Nombre']=odbc_result($rs,"Nombre");
            array_push($roles,$rol);
        }        
        odbc_close(conexion());
        foreach ($roles as $rol) 
        {
            $codigoRol = $rol['CodigoRol'];
            $nombre = $rol['Nombre'];
            echo "<option value=" . $codigoRol . ">" . $nombre . "</option>";
        }
    }
    
    function buscarGuiasAsociadasOrden()
    {        
        require_once '../modelos/guiasModelo.php'; 
        $codigoOrden= $_GET['codigoOrdenCompra'];
        $detalles=buscarGuiasAsociadasNumeroOrden($codigoOrden);        
        echo "<div id='contenedorTablaArticuloDisponible' name='contenedorTablaArticuloDisponible'>
                    <legend class='leyenda' id='tituloTabla'>Guias Asociadas a Orden:</legend>     
                    <br>
                    <table cellpadding='0' cellspacing='0' border='0' class='display' id='tabla_lista_paises'>
                    <thead>
                        <tr>
                            <th>Guia</th>                            
                       </tr>
                    </thead>                    
                    <tbody>";
        foreach ($detalles as $detalle) 
        {            
            $codigoOrden =  $detalle['CodigoGuiaSegunDivision'];            
            echo" <tr>                                       
                    <td><center>$codigoOrden</center>                    </td>
                  </tr>";
            }            
        
        
        echo "</tbody>        </table></div>";
        
    }
    
    function autocompletarNumeroFacturas()
    {        
        require_once '../modelos/facturasExportacionModelo.php'; 
        //require_once '../FirePHPCore/FirePHP.class.php';
        //$firephp = FirePHP::getInstance(true);
       
        //$firephp->log('expandirGuias','expandirGuias');
        $codigoCliente= $_GET['codigoCliente'];
        $nombreCliente= $_GET['nombreCliente'];
        $nombrecompaniaProveedora= $_GET['nombreCompania'];
        
        $detalles=buscarTodosCodigosFacturas($codigoCliente, $nombreCliente, $nombrecompaniaProveedora) ;        
        foreach ($detalles as $detalle) 
        {            
            $codigoFactura =  $detalle['INVOICEID'];            
            echo" <option value='$codigoFactura'>$codigoFactura</option> ";
        }                                            
    }
    
    function cargarNumerosContratosPorCompaniaCliente()
    {
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);
        require_once '../modelos/contratosModelo.php';
        $codigoCliente=$_GET['codigoCliente'];
        $codigoCompania=$_GET['codigoCompania'];
        $firephp->log($codigoCliente,'codigoCliente');
        $firephp->log($codigoCompania,'codigoCompania');
        $contratos=buscarTodosCodigosContratos($codigoCliente, $codigoCompania) ;        
        
        $firephp->log($contratos,'numeroContratos');
        foreach ($contratos as $contrato) 
        {            
            $codigoContrato =  $contrato['codigoContrato'];            
            $numeroContrato =  $contrato['numeroContrato'];            
            echo" <option value='$numeroContrato'>$codigoContrato</option> ";
        }
    }
    
    function cargarCodigosNombresClientes()
    {
        require_once '../modelos/clientesModelo.php';         
        $clientes=buscarTodosCodigosNombresClientes() ;        
        foreach ($clientes as $cliente) 
        {            
            $codigoCliente =  $cliente['codigoCliente'];            
            $nombreCliente =  $cliente['nombreCliente'];            
            echo" <option value='$codigoCliente'>$nombreCliente</option> ";
        }
    }
    
    function buscarCodigoCliente(){
        //Este es un metodo ejemplo para retornar permisos con ajax        
        require_once '../modelos/dataModelo.php';     
        require_once '../modelos/clientesModelo.php';                
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCliente=$_GET["codigoCliente"];
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");
        $firephp->log($codigoCliente,"cliente");
       $existe=false;
        $conexion=conexion_AX();
       //$select="select ACCOUNTNUM,NAME from CustTable where custgroup='Exterior' and ACCOUNTNUM=$codigoCliente and dataareaid=$codigoCompania";       
        //$select="select ACCOUNTNUM,NAME from CustTable where custgroup='Exterior' and ACCOUNTNUM=".$codigoCliente." and dataareaid=".$codigoCompania;       
        //$select="select ACCOUNTNUM,NAME from CustTable where custgroup='Exterior' and ACCOUNTNUM='22' and dataareaid='001'";       
        $select="select ACCOUNTNUM,NAME from CustTable where ACCOUNTNUM='$codigoCliente' and dataareaid='$codigoCompania'";       
       $rs = odbc_exec($conexion,$select);       
       if (!$conexion) 
       {           
           exit( "Error al conectar: " . $conexion);
       }
       else
       {           
           $existe=odbc_fetch_row($rs);             
       }
       $firephp->log($existe,"existencia");
       //odbc_close($conexion);               
        if ($existe==true) 
        {            
           echo true;
        }
        else
        {
            echo false;
        }
    }
    
    function buscarClientesPorCompania()
    {
        require_once '../modelos/clientesModelo.php'; 
        $codigoCompania=$_GET['codigoCompania'];
        $clientes=buscarClientesPorCompaniaModelo($codigoCompania);        
        foreach ($clientes as $cliente) 
        {            
            $codigoCliente =  $cliente['codigoCliente'];            
            $nombreCliente =  $cliente['nombreCliente'];            
            echo" <option value='$codigoCliente'>$nombreCliente</option> ";
        }
    }
    
    function buscarNombreClienteSegunCodigoClienteCodigoCompania(){
        //Este es un metodo ejemplo para retornar permisos con ajax        
        require_once '../modelos/dataModelo.php';     
        require_once '../modelos/clientesModelo.php';                
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCliente=$_GET["codigoCliente"];
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");
        $firephp->log($codigoCliente,"cliente");
       $existe=false;
        $conexion=conexion_AX();       
        $select="select ACCOUNTNUM,NAME from CustTable where ACCOUNTNUM='$codigoCliente' and dataareaid='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['name']=odbc_result($rs,"name");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {
            $nombre = $valor['name'];
            echo $nombre;
        }       
    }
    
    function buscarCodigoCompania(){
        //Este es un metodo ejemplo para retornar permisos con ajax        
        require_once '../modelos/dataModelo.php';     
       
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");       
       $existe=false;
        $conexion=conexion_AX();
      
        $select="select ID, NAME from DATAAREA where ID='$codigoCompania'";       
       $rs = odbc_exec($conexion,$select);       
       if (!$conexion) 
       {           
           exit( "Error al conectar: " . $conexion);
       }
       else
       {           
           $existe=odbc_fetch_row($rs);             
       }
       $firephp->log($existe,"existencia");
       //odbc_close($conexion);               
        if ($existe==true) 
        {            
           echo true;
        }
        else
        {
            echo false;
        }
    }
    
     function mostrarNombreCompania(){
        //Este es un metodo ejemplo para retornar permisos con ajax        
        require_once '../modelos/dataModelo.php';     
        require_once '../modelos/clientesModelo.php';                
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");
        
        $existe=false;
        $conexion=conexion_AX();       
        $select="select ID, NAME from DATAAREA where ID='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['name']=odbc_result($rs,"name");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {
            $nombre = $valor['name'];
            echo $nombre;
        }       
    }
    
    function cargarCompaniasModuloFacturasExportacion() 
    {
        require_once '../modelos/dataModelo.php';          
        //$rs = odbc_exec(conexion(), "select codigoCompania, nombreCompania from companias");
        //$rs = odbc_exec(conexion_AX(), "SELECT ID, NAME FROM DATAAREA WHERE ISVIRTUAL='0' and id in('001','003','006','009')");
		$rs = odbc_exec(conexion_AX(), "SELECT ID, NAME FROM DATAAREA WHERE ISVIRTUAL='0' ");
        $companias=Array();
        while (odbc_fetch_row($rs))
        {
            $compania['codigoCompania']=odbc_result($rs,"ID");
            $compania['nombreCompania']=odbc_result($rs,"NAME");
            array_push($companias,$compania);
        }       
        odbc_close(conexion());
        foreach ($companias as $compania) 
        {
            $codigoCompania = $compania['codigoCompania'];
            $nombreCompania = $compania['nombreCompania'];
            echo "<option value=" . $codigoCompania . ">" . $nombreCompania . "</option>";
        }
    }
    
    function buscarCodigoFactura(){
        //Este es un metodo ejemplo para retornar permisos con ajax        
        require_once '../modelos/dataModelo.php';     
       
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        
        $codigoFactura=$_GET["codigoFactura"];        
        $firephp->log($codigoFactura,"codigoFactura ajax ");       
       $existe=false;
        $conexion=conexion_AX();
      
        //$select="select INVOICEID from CUSTINVOICEJOUR where INVOICEID like '%$codigoFactura%'";       
        $select="select INVOICEID from CUSTINVOICEJOUR where INVOICEID = '$codigoFactura'";       
       $rs = odbc_exec($conexion,$select);       
       if (!$conexion) 
       {           
           exit( "Error al conectar: " . $conexion);
       }
       else
       {           
           $existe=odbc_fetch_row($rs);             
       }
       $firephp->log($existe,"existencia factura ajaxcontrolador");
       //odbc_close($conexion);               
        if ($existe==true) 
        {            
           echo true;
        }
        else
        {
            echo false;
        }
    }
    
    function cargarContratosModuloFacturasExportacion()
    {        
        require_once '../modelos/dataModelo.php';          
        $codigoCliente=$_GET["numeroCliente"];
        $codigoCompania=$_GET["numeroCompania"];
        //$codigoCliente='00142';
        //$codigoCompania='001';
        $rs = odbc_exec(conexion(), "select numeroContrato,codigoContrato from contratos where codigocliente='$codigoCliente' and codigoCompania='$codigoCompania'");
        $companias=Array();
        while (odbc_fetch_row($rs))
        {
            $compania['numeroContrato']=odbc_result($rs,"numeroContrato");
            $compania['codigoContrato']=odbc_result($rs,"codigoContrato");
            array_push($companias,$compania);
        }       
        odbc_close(conexion());
        foreach ($companias as $compania) 
        {
            $codigoCompania = $compania['numeroContrato'];
            $nombreCompania = $compania['codigoContrato'];
            echo "<option value=" . $codigoCompania . ">" . $nombreCompania . "</option>";
        }
    }
    
    function mostrarCedulaJuridicaCompania()
    {     
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        /*select COREGNUM as cedulaJuridica  from COMPANYINFO where DATAAREAID='parametro'*/
        $firephp = FirePHP::getInstance(true);        
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");                
        $conexion=  conexion_AX();       
        $select="select COREGNUM as cedulaJuridica  from COMPANYINFO where DATAAREAID='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['cedulaJuridica']=odbc_result($rs,"cedulaJuridica");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {
            $nombre = $valor['cedulaJuridica'];
            echo $nombre;
        }       
    }
    
    function mostrarCodigoExportador()
    {     
        /*select  REGNUM as codigoExportador from COMPANYINFO where DATAAREAID=parametro*/
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");                
        $conexion=conexion_AX();       
        $select="select  REGNUM as codigoExportador from COMPANYINFO where DATAAREAID='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['codigoExportador']=odbc_result($rs,"codigoExportador");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {
            $nombre = $valor['codigoExportador'];
            echo $nombre;
        }       
    }
    /*sin uso*/
    function mostrarDireccionCompania()
    {     
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");                
        $conexion=conexion();       
        $select="select ID, NAME from DATAAREA where ID='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['name']=odbc_result($rs,"name");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {
            $nombre = $valor['name'];
            echo $nombre;
        }       
    }
    
    function mostrarFechaFactura()
    {     
        /*select INVOICEDATE  from CUSTINVOICETRANS where INVOICEID= 'VC_000197'*/
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $numeroFactura=$_GET["numeroFactura"];      
        $numeroCliente=$_GET["numeroCliente"];
        $codigoCompania=$_GET["codigoCompania"];
        $conexion=conexion_AX();       
        $select="select invoicedate from CUSTINVOICEJOUR where INVOICEID='$numeroFactura' and INVOICEACCOUNT='$numeroCliente' and dataareaid='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $fechaFactura=date_parse(odbc_result($rs,"invoicedate"));
            $item['invoicedate']=convertirFechaBDFormatoInterfazDDMMYYYY($fechaFactura['day'], $fechaFactura['month'], $fechaFactura['year']);                ;            
            array_push($items,$item);
        }       
        $firephp->log($items,"fecha Factura");                
        foreach ($items as $valor) 
        {
            $nombre = $valor['invoicedate'];
            echo $nombre;
        }       
    }
    
    function calcularFechaEntrega()
    {     
        /*la fecha de entrega se calcula sumando 10 dias a fecha de la factura*/
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $numeroFactura=$_GET["numeroFactura"];      
        $numeroCliente=$_GET["numeroCliente"];
        $codigoCompania=$_GET["codigoCompania"];
        $conexion=conexion_AX();       
        $select="select invoicedate from CUSTINVOICEJOUR where INVOICEID='$numeroFactura' and INVOICEACCOUNT='$numeroCliente' and dataareaid='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $fechaFactura=date_parse(odbc_result($rs,"invoicedate"));
            $item['invoicedate']=convertirFechaBDFormatoInterfazDDMMYYYY($fechaFactura['day'], $fechaFactura['month'], $fechaFactura['year']);                ;            
            array_push($items,$item);
        }       
        $firephp->log($items,"fecha Factura");                
        foreach ($items as $valor) 
        {
            $fechaFactura = $valor['invoicedate'];
            $fechaEntrega= date("d-m-Y", strtotime("$fechaFactura +10 days"));            
            echo $fechaEntrega;
        }       
    }
    
    function mostrarNombreCompaniaModuloFacturaExportacion()
    {     
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCompania=$_GET["codigoCompania"];        
        $firephp->log($codigoCompania,"compania");                
        $conexion=conexion();       
        $select="select nombreCompania from Companias where codigoCompania='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['nombreCompania']=odbc_result($rs,"nombreCompania");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {            
            //$nombre = utf8_enconde($valor['nombreCompania']);            
            $nombre = $valor['nombreCompania'];
            //$decodificado=utf8_encode($nombre);
                echo $nombre;
           // echo $decodificado;
            
        }       
    }
    
    function mostrarDireccionEnvioModuloFacturaExportacion()
    {     
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCompania=$_GET["codigoCompania"];        
        $numeroCliente=$_GET["numeroCliente"];        
        $firephp->log($codigoCompania,"compania");                
        $conexion=conexion();       
        $select="select direccionEnvio, direccionPuerto from clientes where codigoCliente='$numeroCliente' and codigoCompania='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['direccionEnvio']=odbc_result($rs,"direccionEnvio");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {
            $nombre = $valor['direccionEnvio'];
            echo $nombre;
        }       
    }
    
    function mostrarDireccionPuertoModuloFacturaExportacion()
    {     
        require_once '../modelos/dataModelo.php';     
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);        
        $codigoCompania=$_GET["codigoCompania"];        
        $numeroCliente=$_GET["numeroCliente"];        
        $firephp->log($codigoCompania,"compania");                
        $conexion=conexion();       
        $select="select direccionEnvio, direccionPuerto from clientes where codigoCliente='$numeroCliente' and codigoCompania='$codigoCompania'";       
        $rs = odbc_exec($conexion,$select);           
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['direccionPuerto']=odbc_result($rs,"direccionPuerto");            
            array_push($items,$item);
        }       
        foreach ($items as $valor) 
        {
            $nombre = $valor['direccionPuerto'];
            echo $nombre;
        }       
    }
    
    function autocompletarNumeroFacturaModuloFacturaExportacion() 
    {   
        require_once '../modelos/dataModelo.php';          
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);
        
        //$dsn = "Driver={SQL Server};Server=localhost;Database=NumarProd;Integrated Security=SSPI;Persist Security Info=False;";        
        //$conexion=odbc_connect($dsn, 'sa','patito035');    
        
        $conexion=conexion_AX();
        $numerocompania=$_GET['dataareaid'];    
        $numerocliente=$_GET['numerocliente'];    
        $numeroFactura=$_GET['q'];        
        $rs = odbc_exec($conexion, "select INVOICEID from CUSTINVOICEJOUR where  DATAAREAID='$numerocompania' and INVOICEACCOUNT='$numerocliente' and invoiceid like '%$numeroFactura%'");    
        $facturas=Array();
        while (odbc_fetch_row($rs))
        {
            $orden['INVOICEID']=odbc_result($rs,"INVOICEID");        
            array_push($facturas,$orden);
        }       
        odbc_close($conexion);
        $firephp->log($facturas,'facturas: ');
        foreach ($facturas as $orden) 
        {
            $codigoFactura = $orden['INVOICEID'];            
            echo "$codigoFactura\n";
        }
    }

    function guardarEncabezadoFacturaExportacion()
    {
        require_once '../modelos/facturasExportacionModelo.php'; 
        require_once 'facturasExportacionControlador.php';  
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);                
    
       /* if(!empty($nombreCompania))
        {
           echo true; 
        }
        else 
        {
            echo false;
        }*/
        try
        {              
        $nombreCompania=$_GET['nombreCompania'];
        $direccionCompania=$_GET['direccionCompania'];
        $cedulaJuridica=$_GET['cedulaJuridica'];
        $pmt=$_GET['pmt'];
        $exportador=$_GET['exportador'];
        
        $fechaFactura=$_GET['fechaFactura'];               
        $txtFechaFacturaNormalizada=normalizarFechaFacturasExportacion($fechaFactura);        
        $fechaFacturaBD = preg_replace("[/]", "", $txtFechaFacturaNormalizada); 
        
        $contacto=$_GET['contacto'];
        $email=$_GET['email'];
        $tel=$_GET['tel'];
        $fax=$_GET['fax'];
        $invoiceNumber=$_GET['codigoFactura'];
        $codigoCompania=$_GET['codigoCompania'];
        $idCliente=$_GET['codigoCliente'];
        
        $firephp->log($nombreCompania, "nombre compania");    
        $firephp->log($direccionCompania, "direccion compania");    
        $firephp->log($cedulaJuridica, "cedula juridica");    
        $firephp->log($pmt, "pmtTerms");    
        $firephp->log($exportador, "exportador");    
        $firephp->log($fechaFacturaBD, "fecha factura");    
        $firephp->log($contacto, "contacto");    
        $firephp->log($email, "email");    
        $firephp->log($tel, "tel");    
        $firephp->log($fax, "fax");    
        $firephp->log($invoiceNumber, "numero Factura");    
        $firephp->log($codigoCompania, "codigo compania");    
        $firephp->log($idCliente, "cliente");    
        
        insertarEncabezadoFacturaModelo($invoiceNumber, $nombreCompania, $direccionCompania, 
			 $cedulaJuridica,$exportador,$fechaFacturaBD, $pmt, 
			 $contacto, $email, $tel, $fax,$idCliente,$codigoCompania);  
        echo true;
        }
        catch (Exception $e) 
        {
            echo false;
            $firephp->log($e->getMessage(), "error"); 
            //echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }
    
    function actualizarDireccionesAjaxControlador()
    {
        require_once '../modelos/facturasExportacionModelo.php'; 
        require_once 'facturasExportacionControlador.php';  
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);                
        try
        {
        $billto=$_GET['billto'];
        $shipto=$_GET['shipto'];
        $importerto=$_GET['importerto'];
        $invoiceNumber=$_GET['codigoFactura'];
        $codigoCompania=$_GET['codigoCompania'];
        $idCliente=$_GET['codigoCliente'];
        
        $firephp->log($billto, "bill to");    
        $firephp->log($shipto, "ship to");    
        $firephp->log($importerto, "importerto");    
        $firephp->log($idCliente, "cliente");    
        $firephp->log($codigoCompania, "codigo compania");    
        $firephp->log($invoiceNumber, "numero factura");    
        
        actualizarDireccionesModelo($billto, $shipto, $importerto,$invoiceNumber, $idCliente,$codigoCompania);
        echo true;
        }
        catch (Exception $e) 
        {
            echo false;
            $firephp->log($e->getMessage(), "error"); 
            //echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }
    
    function actualizarContratoFacturaExportacionAjaxControlador()
    {
        require_once '../modelos/facturasExportacionModelo.php'; 
        require_once 'facturasExportacionControlador.php';  
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);                
        try
        {
        $numeroOrden=$_GET['numeroOrden'];
        
        $fechaEntrega=$_GET['fechaEntrega'];
        $txtFechaEntregaNormalizada=normalizarFechaFacturasExportacion($fechaEntrega);        
        $fechaEntregaBD = preg_replace("[/]", "", $txtFechaEntregaNormalizada); 
        
        $comprador=$_GET['comprador'];
        $contrato=$_GET['contrato'];
        
        $fechaContrato=$_GET['fechaContrato'];
        $txtFechaContratoNormalizada=normalizarFechaFacturasExportacion($fechaContrato);        
        $fechaContratoBD = preg_replace("[/]", "", $txtFechaContratoNormalizada); 		
		
        $vat=$_GET['vat'];
        $inco=$_GET['inco'];
        $invoiceNumber=$_GET['codigoFactura'];
        $codigoCompania=$_GET['codigoCompania'];
        $idCliente=$_GET['codigoCliente'];
        
        $firephp->log($numeroOrden, "numero de orden");    
        $firephp->log($fechaEntregaBD, "fecha entrega");    
        $firephp->log($comprador, "comparador");    
        $firephp->log($contrato, "contrato");    
        $firephp->log($fechaContratoBD, "fecha contrato");    
        $firephp->log($vat, "vat");    
        $firephp->log($inco, "inco");    
        $firephp->log($invoiceNumber, "numero factura");    
        $firephp->log($codigoCompania, "codigo compania");    
        $firephp->log($idCliente, "codigo cliente");            
        		
        actualizarContratoFacturaExportacionModelo(
                $numeroOrden, $fechaEntregaBD, $comprador,$contrato, $fechaContratoBD,$vat,
                $inco,$invoiceNumber, $idCliente,$codigoCompania);
                  
        echo true;
        }
        catch (Exception $e) 
        {
            echo false;
            $firephp->log($e->getMessage(), "error"); 
            //echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }
    
    function actualizarDetalleBancoAjaxControlador()
    {
        require_once '../modelos/facturasExportacionModelo.php'; 
        require_once 'facturasExportacionControlador.php';  
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);                
        try
        {
        $bankDetails=$_GET['detalleBanco'];
        $ABANumber=$_GET['ABA'];
        $swift=$_GET['swift'];
        $accountName=$_GET['nombreCuenta'];
        $accountNumber=$_GET['numeroCuenta'];
        $forFurtherCreditTo=$_GET['further'];        
        $invoiceNumber=$_GET['codigoFactura'];
        $codigoCompania=$_GET['codigoCompania'];
        $idCliente=$_GET['codigoCliente'];
                   
        $firephp->log($bankDetails, "detalle banco");    
        $firephp->log($ABANumber, "aba number");    
        $firephp->log($swift, "swift");    
        $firephp->log($accountName, "nombre de cuenta");    
        $firephp->log($accountNumber, "numero cuenta");    
        $firephp->log($forFurtherCreditTo, "further");    
        $firephp->log($invoiceNumber, "numero factura");    
        $firephp->log($codigoCompania, "codigo compania");    
        $firephp->log($idCliente, "codigo cliente");             
        
        actualizarDetalleBancoModelo($bankDetails,$ABANumber,$swift,$accountName,$accountNumber,
            $forFurtherCreditTo,$invoiceNumber,$idCliente,$codigoCompania);
        echo true;
        }
        catch (Exception $e) 
        {
            echo false;
            $firephp->log($e->getMessage(), "error"); 
            //echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }
    
    function actualizarComentariosAjaxControlador()
    {
        require_once '../modelos/facturasExportacionModelo.php'; 
        require_once 'facturasExportacionControlador.php';  
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);                
        try
        {
        $comentarios=$_GET['comentarios'];        
        $invoiceNumber=$_GET['codigoFactura'];
        $codigoCompania=$_GET['codigoCompania'];
        $idCliente=$_GET['codigoCliente'];
        
        $firephp->log($comentarios, "comentarios");  
        $firephp->log($invoiceNumber, "numero factura");  
        $firephp->log($codigoCompania, "codigo Compania");  
        $firephp->log($idCliente, "codigo cliente");  
        
        actualizarComentariosModelo($comentarios,$invoiceNumber,$idCliente,$codigoCompania);
        echo true;
        }
        catch (Exception $e) 
        {
            echo false;
            $firephp->log($e->getMessage(), "error"); 
            //echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }
    
     function actualizarLineaFacturaAjaxControlador()
    {
        require_once '../modelos/facturasExportacionModelo.php'; 
        require_once 'facturasExportacionControlador.php';  
        require '../modelos/lineasFacturaExportacionModelo.php';
        require_once '../modelos/dataModelo.php';
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);                
        try
        {
        $articulos=$_GET['articulos'];        
        $invoiceNumber=$_GET['codigoFactura'];
        $codigoCompania=$_GET['codigoCompania'];
        $idCliente=$_GET['codigoCliente'];
        
        $firephp->log($articulos, "articulos firephp");  
        $firephp->log($invoiceNumber, "numero factura");  
        $firephp->log($codigoCompania, "codigo Compania");  
        $firephp->log($idCliente, "codigo cliente");  
        $p=count($articulos);
        $firephp->log($p, 'contador');
        //$articulosSeparados=  Array();
        
          $separador= explode('-',$articulos);
     
        $firephp->log($separador, 'separados');
        
     
            $numero= $separador[0];
            $nombre=$separador[1];
            $cantidad=$separador[2];
            $precioUnitario=$separador[3];
            $subtotal=$separador[4];
            $flete=$separador[5];
            $total=$separador[6];
            $precioTotal=$separador[6];
            $volumenTotal=$separador[2];            
            $cantidadSinComa = str_replace(",","",$cantidad);
            $precioUnitarioSinComa = str_replace(",","",$precioUnitario);
            $subtotalSinComa = str_replace(",","",$subtotal);
            $fleteSinComa = str_replace(",","",$flete);
            $totalSinComa = str_replace(",","",$total);
            $precioTotalSinComa = str_replace(",","",$precioTotal);
            $volumentotalSinComa = str_replace(",","",$volumenTotal);
            
            $firephp->log($numero, 'numero');
            $firephp->log($nombre, 'nombre');
            $firephp->log($cantidadSinComa, 'cantidad');
            $firephp->log($precioUnitarioSinComa, 'precio unitario');
            $firephp->log($subtotalSinComa, 'subtotal');
            $firephp->log($fleteSinComa, 'flete');
            $firephp->log($totalSinComa, 'total');
            $firephp->log($precioTotalSinComa, 'preciototal');
            $firephp->log($volumentotalSinComa, 'volumen total');
        /*
        agregarLineasFacturaExportacion(
                    $numero,
                    $nombre,
                    $cantidadSinComa,
                    $precioUnitarioSinComa,
                    $precioTotalSinComa,
                    $volumentotalSinComa,
                    $subtotalSinComa,
                    $fleteSinComa,
                    $totalSinComa,
                    $codigoCompania,
                    $invoiceNumber,
                    $idCliente);*/
        $conexion=conexion();
        $insert="insert into LineasFactura(numeroItem,descripcion,volumen,valorUnitario,precioTotal,volumenTotal,subtotal,freight,Total,codigoCompania,invoiceNumber,codigoCliente,estado) values ('$numero','$nombre',$volumentotalSinComa,$precioUnitarioSinComa,$totalSinComa,$volumentotalSinComa,$subtotalSinComa,$fleteSinComa,$precioTotalSinComa,'$codigoCompania','$invoiceNumber','$idCliente','A')";        
        $firephp->log($insert, 'insert');
        $firephp->log($conexion, 'con');
        if (!odbc_exec($conexion,$insert))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
        echo true;
        }
        catch (Exception $e) 
        {
            echo false;
            $firephp->log($e->getMessage(), "error"); 
            //echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }        
    
    function guardarEncabezadoEditadoFacturaExportacion()
    {
        require_once '../modelos/facturasExportacionModelo.php'; 
        require_once 'facturasExportacionControlador.php';  
        require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);                
    
       /* if(!empty($nombreCompania))
        {
           echo true; 
        }
        else 
        {
            echo false;
        }*/
        try
        {              
        $nombreCompania=$_GET['nombreCompania'];
        $direccionCompania=$_GET['direccionCompania'];
        $cedulaJuridica=$_GET['cedulaJuridica'];
        $pmt=$_GET['pmt'];
        $exportador=$_GET['exportador'];
        
        $fechaFactura=$_GET['fechaFactura'];               
        $txtFechaFacturaNormalizada=normalizarFechaFacturasExportacion($fechaFactura);        
        $fechaFacturaBD = preg_replace("[/]", "", $txtFechaFacturaNormalizada); 
        
        $contacto=$_GET['contacto'];
        $email=$_GET['email'];
        $tel=$_GET['tel'];
        $fax=$_GET['fax'];
        $invoiceNumber=$_GET['codigoFactura'];
        $codigoCompania=$_GET['codigoCompania'];
        $idCliente=$_GET['codigoCliente'];
        
        $firephp->log($nombreCompania, "nombre compania");    
        $firephp->log($direccionCompania, "direccion compania");    
        $firephp->log($cedulaJuridica, "cedula juridica");    
        $firephp->log($pmt, "pmtTerms");    
        $firephp->log($exportador, "exportador");    
        $firephp->log($fechaFacturaBD, "fecha factura");    
        $firephp->log($contacto, "contacto");    
        $firephp->log($email, "email");    
        $firephp->log($tel, "tel");    
        $firephp->log($fax, "fax");    
        $firephp->log($invoiceNumber, "numero Factura");    
        $firephp->log($codigoCompania, "codigo compania");    
        $firephp->log($idCliente, "cliente");    
        
        actualizarEncabezadoFacturaModelo($invoiceNumber, $nombreCompania, $direccionCompania, 
			 $cedulaJuridica,$exportador,$fechaFacturaBD, $pmt, 
			 $contacto, $email, $tel, $fax,$idCliente,$codigoCompania);  
        
        echo true;
        }
        catch (Exception $e) 
        {
            echo false;
            $firephp->log($e->getMessage(), "error"); 
            //echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }
?>
